Übersicht über Microsoft Jet- und Replikationsobjekte

Mit Microsoft® Jet- und Replikationsobjekten (JRO) können Sie Ihren Anwendungen Features hinzufügen, die für das Microsoft Jet-Datenbankmodul spezifisch sind. Die Jet- und Replikationsobjekte basieren im Wesentlichen auf Microsoft® ActiveX® Data Objects (ADO), da sie mit einem ADO Connection-Objekt verbunden sind. Die Jet- und Replikationsobjekte funktionieren jedoch nur mit Microsoft Jet-Datenbanken. Weitere Informationen über ADO und das Connection-Objekt finden Sie in der ADO Programmer's Reference oder auf der ADO-Website unter http:\\www.microsoft.com\data.

Mit den Jet- und Replikationsobjekten können Sie:

  • Datenbankreplikatgruppen erstellen und synchronisieren.

  • Eine Datenbank komprimieren und Optionen für die komprimierte Datenbank festlegen, wie z. B. Kennwörter und Verschlüsselung.

  • Den Speichercache aktualisieren, indem Sie anstehende Datenänderungen in die Datenbank schreiben und die neuesten Daten aus der Datenbank in den Speicher lesen.

Das Jet-Modul

Das Jet-Datenbankmodul wird durch JetEngine-Objekte dargestellt. Mit JetEngine-Objekten können Sie eine komprimierte Kopie einer Jet-Datenbank erstellen und Optionen zum Verschlüsseln von Daten, Ändern der Datenbankmodulversionen und Übergeben von Benutzer-IDs und Kennwörtern aufnehmen, die Systemdatenbank oder Registrierungsinformationen angeben, gebietsschemaspezifische Sortierfolgen festlegen oder überschreiben, Beziehungen entfernen und beschädigte Replikate reparieren. Sie können auch erzwingen, dass alle anstehenden Änderungen an den Daten verarbeitet werden, indem Sie den Cache von Datenbankoperationen vollständig leeren.

Replikate

Replizierte Datenbanken werden durch Replica-Objekte dargestellt. Mit Replica-Objekten erstellen Sie neue replizierte Datenbanken, definieren die Optionen für ein bestimmtes Replikat (vollständig, teilweise, Designmaster), synchronisieren die Änderungen zwischen zwei Replikaten und ermitteln Konflikte, die bei der Synchronisation auftreten.

Filter

Teilreplikate werden mit Hilfe von Filter-Objekten erstellt, die in der Filters-Auflistung eines Replica-Objekts enthalten sind. Filterobjekte definieren Kriterien, die die Datensätze einschränken, die repliziert werden. Filter können auf Tabellen oder Beziehungen in einem Teilreplikat angewendet werden.

Weitere Informationen finden Sie, indem Sie nach einer bestimmten Eigenschaft, einer Methode oder einem Objekt suchen. Oder klicken Sie auf eines der folgenden Themen:

  • Jet- und Replikationsobjekte

  • Jet- und Replikationsauflistungen

  • Jet- und Replikationsmethoden

  • Jet- und Replikationseigenschaften

  • Jet- und Replikationsbeispiele


Jet- und Replikationsobjektmodell

Das folgende Diagramm zeigt, wie die Jet- und Replikationsobjekte dargestellt werden und miteinander in Beziehung stehen.


Jet- und Replikationsobjekte

JRO-Objekte – Zusammenfassung

Objekt | Beschreibung
Filter | Gibt Kriterien an, die das Recordset einer replizierten Datenbank eingrenzen.
JetEngine | Bietet Kontrollmöglichkeiten über Features, die spezifisch für das Jet-Modul sind, wie z. B. Komprimieren von Datenbanken und Aktualisieren von Daten aus dem Zwischenspeicher.
Replica | Stellt eine Kopie einer replizierten Datenbank dar.

Die Jet- und Replikationsobjekte bestehen aus drei Objekten: Filter, Replica und JetEngine. Filter-Objekte können in der Filters-Auflistung eines Replica-Objekts enthalten sein.

Filter-Objekt

Sie können Teilreplikate erstellen, indem Sie die Kriterien für ein Filter-Objekt angeben. Mit Filterkriterien können Sie bestimmte Daten auswählen, die repliziert werden sollen. Sie können beispielsweisenur diejenigen Datensätze aus einer Kundentabelle replizieren, die zu einem bestimmten Gebiet gehören.

JetEngine-Objekte

Verwenden Sie JetEngine-Objekte, um Datenbanken zu komprimieren und Daten mit anstehenden Änderungen aus dem Zwischenspeicher zu aktualisieren. Komprimieren Sie Datenbanken, um Platz einzusparen und Optionen für die neue Kopie der Datenbank anzugeben, z. B. Daten zu verschlüsseln, die Version des Datenbankmoduls zu ändern, oder die Sortierreihenfolge nach Gebietsschema festzulegen. Aktualisieren Sie Daten aus dem Zwischenspeicher, um zu veranlassen, dass alle anstehenden Datenbankoperationen verarbeitet werden. Dies hält die Daten in einem Recordset auf dem neuesten Stand, sogar in einer Umgebung mit vielen Benutzern und einer großen Menge verarbeiteter Daten.

Replica-Objekte

Mit Hilfe von Replica-Objekten können Sie replizierte Datenbanken erstellen und pflegen. Mit Replikaten geben Sie eine Designvorlage an, erstellen neue Replikate, holen sich Informationen über die Replizierbarkeit der Objekte in einer Datenbank und synchronisieren die Unterschiede zwischen zwei Replikaten.

Weitere Informationen über die Eigenschaften und Methoden eines bestimmten Jet- und Replikationsobjekts finden Sie unter dem Thema zum entsprechenden Objekt.


Filter-Objekt (JRO)

Filter-Objekt

Gibt Kriterien an, die das Recordset einer replizierten Datenbank eingrenzen.

Hinweise

Replizieren Sie mit Hilfe eines Filter-Objekts eine Teilmenge der Datensätze in einer Datenbank. Mit Filtern können Sie Teilreplikate erstellen, die bestimmte Daten enthalten, je nach den Filterkriterien. A Filter object can be contained in the Filters collection of a replica.

Mit den Eigenschaften eines Filter-Objekts können Sie:

  • den Namen der Tabelle angeben, auf die der Filter angewendet wird, und zwar mit der TableName-Eigenschaft.

  • die FilterType-Eigenschaft verwenden, um zu ermitteln, ob der Filter auf einer Tabelle oder auf einer Beziehung basiert.

  • die Kriterien angeben, die ein Datensatz erfüllen muss, um vom vollständigen Replikat mit der FilterCriteria-Eigenschaft repliziert werden zu können.


JetEngine-Objekt (JRO)

JetEngine-Objekt

Bietet Kontrollmöglichkeiten über Features, die spezifisch für das Jet-Modul sind, wie z. B. Komprimieren von Datenbanken und Aktualisieren von Daten aus dem Zwischenspeicher.

Hinweise

Mit Hilfe eines JetEngine-Objekts können Sie auf Features des Jet-Datenbankmoduls zugreifen. Ein JetEngine-Objekt funktioniert nur, wenn es mit einer Jet-Datenquelle verbunden ist.

Mit den Methoden eines JetEngine-Objekts können Sie:

  • eine Datenbank komprimieren und andere Datenbankeigenschaften mit der CompactDatabase-Methode verändern.

  • veranlassen, dass anstehende Änderungen an Daten im Zwischenspeicher verarbeitet werden und dabei sicherstellen, dass ein Recordset oder die Datenbank mit der RefreshCache-Methode auf dem neuesten Stand gehalten wird.


Replica-Objekt (JRO)

Replica-Objekt

Stellt eine Kopie einer replizierten Datenbank dar.

Hinweise

Mit den Auflistungen, Methoden und Eigenschaften eines Replica-Objekts können Sie folgende Verfahren ausführen:

  • mit der Filters Auflistung auf die Filter für ein Replikat zugreifen.

  • mit der CreateReplica-Methode ein neues Replikat erstellen.

  • mit den Methoden GetObjectReplicability und SetObjectReplicability ermitteln, ob ein Objekt lokal oder repliziert ist.

  • mit der MakeReplicable-Methode eine Datenbank replizierbar machen.

  • mit der PopulatePartial-Methode ein Teilreplikat auffüllen.

  • mit der Synchronize-Methode zwei Replikate synchronisieren.

  • mit der ActiveConnection-Eigenschaft das ADO Connection-Objekt oder die gültige Verbindungszeichenfolge angeben, mit der das Replikat verbunden ist.

  • mit der ConflictFunction-Eigenschaft benutzerdefinierten Code zur Konfliktauflösung angeben.

  • ein Recordset zurückgeben, das Tabellenkonflikte enthält, die während des Synchronisierens mit der ConflictTables-Eigenschaft auftraten.

  • den eindeutigen Bezeichner der Designvorlage in einer Replikatgruppe mit der DesignMasterId-Eigenschaft angeben.

  • die relative Priorität eines Replikats mit der Priority-Eigenschaft zur Verwendung während einer Konfliktauflösung ermitteln.

  • mit der RetentionPeriod-Eigenschaft angeben, wie lang Sie Replikationschronologien aufbewahren möchten.

  • den eindeutigen Bezeichner des Replikats mit der ReplicaId-Eigenschaft zurückgeben.

  • mit der ReplicaType-Eigenschaft ermitteln, ob für das Replikat die Optionen vollständig, teilweise, oder Designmaster gelten.

  • mit der Visibility-Eigenschaft ermitteln, ob das Replikat global, lokal oder anonym ist.


Jet- und Replikationsauflistungen

Die Jet- und Replikationsobjekte enthalten eine Auflistung: Filters. Ein Replica-Objekt kann eine Filters-Auflistung enthalten. Die Filters-Auflistung enthält Filter-Objekte, die Kriterien festlegen, die das Recordset der replizierten Datenbank begrenzen.

Bei der Filters-Auflistung handelt es sich um eine standardmäßige ADO-Auflistung, die für den Zugriff auf die zugehörigen Elemente die folgenden Eigenschaften und Methoden verwendet: Count, Append, Delete, Item und Refresh.


Filters-Auflistung (JRO)

Filters-Auflistung

Enthält sämtliche Filter-Objekte für das Replikat.

Hinweise

Replica-Objekte können eine Filters-Auflistung enthalten.

Mit den Eigenschaften und Methoden einer Filters-Auflistung können Sie:

  • Die Anzahl der in der Auflistung enthaltenen Filter mit der Count-Eigenschaft zurückgeben.

  • Auf eine Spalte in der Auflistung mit der Item-Methode zugreifen.

  • Der Auflistung mit der Append-Methode einen neuen Filter hinzufügen.

  • Einen Filter mit der Delete-Methode aus der Auflistung entfernen.

  • Die Objekte in der Auflistung mit der Refresh-Methode aktualisieren, um das Schema der aktuellen Datenbank anzuzeigen.


Jet- und Replikationsmethoden

Zusammenfassung der Methoden für JRO

Methode | Beschreibung
Append | Fügt der Filters-Auflistung eines Teilreplikats ein neues Filter-Objekt hinzu.
CompactDatabase | Kopiert und komprimiert eine geschlossene Datenbank. Ermöglicht Ihnen, ihre Version, Sortierreihenfolge, Verschlüsselung und weitere Optionen zu ändern.
CreateReplica | Erstellt ein neues Replikat der aktuellen replizierbaren Datenbank.
Delete | Entfernt das Filter-Objekt aus der Filters-Auflistung eines Replikats.
GetObjectReplicability | Gibt an, ob ein Objekt lokal oder repliziert ist.
Item | Gibt ein bestimmtes Element einer Auflistung nach Namen oder Ordinalzahl zurück.
MakeReplicable | Macht eine Datenbank replizierbar.
PopulatePartial | Füllt ein Teilreplikat auf.
Refresh | Aktualisiert die Objekte in einer Auflistung, um Objekte wiederzugeben, die vom Provider erhältlich und spezifisch für ihn sind.
RefreshCache | Veranlasst, dass alle nicht abgeschlossenen Speichervorgänge auf mdb.Dateien gespeichert werden und aktualisiert den Arbeitspeicher unter Verwendung der aktuellsten Daten dieser mdb.Datei.
SetObjectReplicability | Legt fest, ob ein Objekt lokal oder repliziert ist.
Synchronize | Synchronisiert zwei Replikate.


Append-Methode (JRO)

Append-Methode

Fügt der Filters-Auflistung eines Teilreplikats ein neues Filter-Objekt hinzu.

Syntax

Filters.Append(TableName [, FilterType], FilterCriteria)

Parameter

TableName Ein String-Wert, der den Namen der Tabelle angibt, auf die der Filter mit der TableName-Eigenschaft angewendet wird.

FilterType Ein Enum-Wert, der die FilterType-Eigenschaft angibt, um zu bestimmen, ob der Filter auf einer Tabelle oder einer Beziehung basiert.

FilterCriteria Ein String-Wert, der die Kriterien angibt, die ein Datensatz erfüllen muss, um vom vollständigen Replikat mit der FilterCriteria-Eigenschaft repliziert werden zu können.

Hinweise

Ist das Replikat kein Teilreplikat, wie durch die ReplicaType-Eigenschaft definiert, tritt ein Fehler auf. Ist ein Filter desselben Namens und Typs bereits vorhanden, tritt ein Fehler auf.

Versuchen Sie, einen zweiten Filtertyp jrFltrTypeTable mit demselben Tabellennamen hinzuzufügen, tritt ein Fehler auf.


CompactDatabase-Methode (JRO)

CompactDatabase-Methode

Kopiert und komprimiert eine geschlossene Datenbank und ermöglicht Ihnen, die Datenbankversion, ihre Sortierreihenfolge, Verschlüsselung und weitere Optionen zu ändern.

Syntax

JetEngine.CompactDatabase(SourceConnection, DestConnection)

Parameter

SourceConnection Ein String-Wert, der eine Verbindung zu der zu komprimierenden Quelldatenbank angibt. Ist die von SourceConnection angegebene Datenbank bereits geöffnet, tritt ein Fehler auf.

DestConnection Ein String-Wert, der eine Verbindung zu der Zieldatenbank angibt, die durch die Komprimierung erstellt werden soll. Ist die von DestConnection angegebene Datenbank oder eine andere Datei desselben Namens bereits vorhanden, tritt ein Fehler auf.

Hinweise

Mit den Connection-Eigenschaften werden Informationen zum Komprimieren der Datenbank angegeben. Es muss mindestens die Data Source-Eigenschaft für SourceConnection und DestConnection angegeben sein. In der folgenden Tabelle sind die Connection-Eigenschaften angegeben, die Sie bei dieser Methode verwenden können. Alle weiteren Connection-Eigenschaften werden ignoriert.

Eigenschaft | Quelle | Ziel | Beschreibung
Provider |  |  | Gibt den Namen des zum Verbinden mit der Datenquelle zu verwendenden Providers an. Wird diese Eigenschaft nicht angegeben, wird von dem Microsoft.Jet.OLEDB.4.0 – Provider ausgegangen. Stimmt der Providername in der Quellzeichenfolge nicht mit dem Providernamen in der Zielzeichenfolge überein, tritt ein Fehler auf.
Data Source |  |  | Gibt den Namen der Datenbank an. Diese Eigenschaft ist für die Verbindungsinformationen zu Quelle und Ziel erforderlich.
User Id |  |  | Gibt den Namen des Benutzers an, wenn die Quelldatenbank geschützt ist.
Password |  |  | Gibt das Kennwort für den Benutzer an, wenn die Quelldatenbank geschützt ist.
Locale Identifier |  |  | Gibt die Gebietsschema-ID für die neue Datenbank an. Wenn diese Angabe unterbleibt, erhält die Zieldatenbank dieselbe Gebietsschema-ID wie die Quelldatenbank. Das Gebietsschema gibt die Sortierreihenfolge für Vergleiche der Zeichenfolgen in der Datenbank an. Werte für die Zieldatenbank finden Sie im Abschnitt "Bemerkungen".
Jet OLEDB:Database Password |  |  | Gibt an, wenn die Datenbank kennwortgeschützt ist.
Jet OLEDB:Engine Type |  |  | Gibt die Version der zu öffnenden Quelldatenbank bzw. die Version der neu zu erstellenden Datenbank an. Sie können folgende Typen von OLE DB-Modulen verwenden: 1 für JET Version 1.0 2 für JET Version 1.1 3 für JET Version 2.x 4 für JET Version 3.x 5 für JET Version 4.x Wenn diese Angabe für die Zieldatenbank unterbleibt, erhält sie dieselbe Version wie die Quelldatenbank. Der Wert für die Zieldatenbank kann keine frühere Version als die der Quelldatenbank sein.
Jet OLEDB:Registry Path |  |  | Legt Informationen über den Schlüssel in der Windows-Registrierung fest, der Werte für das Microsoft Jet-Datenbankmodul enthält.
Jet OLEDB:System Database |  |  | Gibt die Position der Systemdatenbank an.
Jet OLEDB:Encrypt Database |  |  | Gibt an, ob die neue Datenbank verschlüsselt werden soll. Wenn die Angabe dieses Parameters unterbleibt, erhält die Zieldatenbank dieselbe Verschlüsselung wie die Quelldatenbank.
Jet OLEDB:Don't Copy Locale on Compact |  |  | Gibt an, dass die Sortierreihenfolge der Datenbank verwendet und etwaige Ländereinstellungen für die jeweilige Spalte überschrieben werden sollen. (Boolesch.)
Jet OLEDB:Compact Without Relationships |  |  | Gibt an, ob Beziehungen in die neue Datenbank kopiert werden sollen. (Boolesch.)
Jet OLEDB:Compact Without Replica Repair |  |  | Gibt an, ob versucht werden soll, andere Replikate zu finden, um beschädigte replizierte Datenbanken zu reparieren. (Boolesch.)

Es ist nicht möglich, mit dieser Methode eine Komprimierung durchzuführen, bei der Quell- und Zieldatenbank gleich sind. Ein Fehler tritt auf, wenn der Provider das Komprimieren von Jet-Datenbanken nicht unterstützt.

Hinweise

In der folgenden Tabelle sind die Werte für die Zieldatenbank und den Locale Identifier (LCID) aufgeführt:

Beschreibung | LCID
Chinesische Punktierung | 0x00000804
Chinesische Strichzählung | 0x00020804
Chinesische Strichzählung (Taiwan) | 0x00000404
Chinesisch Bopomofo (Taiwan) | 0x00030404
Kroatisch | 0x0000041a
Tschechisch | 0x00000405
Estnisch | 0x00000425
Französisch | 0x0000040c
Allgemein | 0x00000409
Georgisch (modern) | 0x00010437
Deutsches Telefonbuch | 0x00010407
Ungarisch | 0x0000040e
Ungarisch (technisch) | 0x0001040e
Isländisch | 0x0000040f
Japanisch | 0x00000411
Japanisch Unicode | 0x00010411
Koreanisch | 0x00000412
Koreanisch Unicode | 0x00010412
Lettisch | 0x00000426
Litauisch | 0x00000427
Mazedonisch | 0x0000042f
Norwegisch/Dänisch | 0x00000414
Polnisch | 0x00000415
Rumänisch | 0x00000418
Slowakisch | 0x0000041b
Slowenisch | 0x00000424
Spanisch (traditionell) | 0x0000040a
Spanisch (modern) | 0x00000c0a
Schwedisch/Finnisch | 0x0000041d
Thailändisch | 0x0000041e
Türkisch | 0x0000041f
Ukrainisch | 0x00000422
Vietnamesisch | 0x0000042a

Anmerkung Die allgemeine Sortierreihenfolge enthält folgende Sprachen: Afrikaans, Albanisch, Arabisch, Baskisch, Bulgarisch, Englisch, Färöisch, Deutsch (Standard), Hebräisch, Hindi, Indonesisch, Italienisch, Katalanisch, Malaiisch, Neugriechisch, Neupersisch (Farsi), Niederländisch, Portugiesisch, Russisch, Serbisch, Suaheli, Urdu, Weißrussisch.


CreateReplica-Methode (JRO)

CreateReplica-Methode

Erstellt ein neues Replikat der aktuellen replizierbaren Datenbank.

Syntax

Replica.CreateReplica(ReplicaName, Description [, ReplicaType] [, Visibility]
[, Priority] [, Updatability])

Parameter

ReplicaName Ein String-Wert, der den Namen und Pfad des vollständigen oder Teil eines zu erstellenden Replikats angibt. Beim Angeben eines Namens von über 255 Zeichen Länge tritt ein Fehler auf.

Description Ein String-Wert, der das zu erstellende Replikat beschreibt.

ReplicaType Optional. Ein Enum-Wert, der den Typ des zu erstellenden Replikats angibt. Der Standardwert ist jrRepTypeFull. Weitere Informationen hierzu finden Sie unter der ReplicaType-Eigenschaft. Die folgenden Konstanten stellen gültige Werte für ReplicaType dar:

Konstante | Beschreibung
jrRepTypeFull | Das Replikat ist ein vollständiges Replikat.
jrRepTypePartial | Das Replikat ist ein Teilreplikat.

Visibility Optional. Ein Enum-Wert, der die Sichtbarkeit des Replikats angibt. Der Standardwert ist jrRepVisibilityGlobal. Weitere Informationen hierzu finden Sie unter der Visibility-Eigenschaft. Die folgenden Konstanten stellen gültige Werte für Visibility dar:

Konstante | Beschreibung
jrRepVisibilityGlobal | Das Replikat ist global.
jrRepVisibilityLocal | Das Replikat ist lokal.
jrRepVisibilityAnon | Das Replikat ist anonym.

Priority Optional. Ein Long-Wert, der die Priorität des Replikats (zur Verwendung während der Auflösung eines Konflikts) angibt. Der Standardwert ist -1. Dies zeigt an, dass die Datenbank den Standardwert bestimmen sollte. Bei globalen Replikaten beträgt die Standardpriorität 90 Prozent der Priorität des übergeordneten Replikats. Die gültigen Werte für ein globales Replikat können möglicherweise auch weiter eingeschränkt sein. Handelt es sich beim Benutzer um den Datenbank-Administrator, dann ist der gesamte Bereich gültig. Andernfalls beträgt der Höchstwert der Priorität 90 Prozent der Priorität des übergeordneten Replikats. Bei lokalen und anonymen Replikaten beträgt der Wert stets 0 und kann nicht verändert werden. Dieser Wert wird beim Erstellen des Replikats festgesetzt; jeder davon abweichende Wert wird ignoriert. Weitere Informationen hierzu finden Sie unter der Priority-Eigenschaft.

Updatability Optional. Ein Enum-Wert, der angibt, welche Aktualisierungstypen erlaubt sind. Der Standardwert ist jrRepUpdFull. Die Konstante jrRepUpdReadOnly verhindert, dass Benutzer Schema und Datensätze replizierbarer Objekte des neuen Replikats verändern können; wenn Sie allerdings das neue Replikat mit einem anderen Element der Replikatgruppe synchronisieren, werden Änderungen am Entwurf und an Daten auf das neuen Replikat übertragen. Die folgenden Konstanten stellen gültige Werte für Updatability dar:

Konstante | Beschreibung
jrRepUpdFull | Das Replikat kann aktualisiert werden.
jrRepUpdReadOnly | Das Replikat ist schreibgeschützt.

Hinweise

Wurde das Replikat nicht erfolgreich geöffnet und ist die ActiveConnection-Eigenschaft nicht festgelegt, dann tritt ein Fehler auf.

Diese Methode kann nur verwendet werden, wenn die Datenbank replizierbar ist. Ist der ReplicaType jedoch jrRepTypeNotReplicable, und versucht der Benutzer, diese Methode zu verwenden, dann tritt ein Fehler auf.

Ein Replikat hat entweder genau dieselben Merkmale wie das ihr zugrunde liegende Replikat, oder es ist stärker eingeschränkt. So können Sie beispielsweise mit einem schreibgeschützten globalen Replikat nur ein lokales oder anonymes schreibgeschütztes Replikat erstellen, während ein lokales Replikat wiederum nur ein weiteres lokales Replikat mit denselben Merkmalen erstellen kann.


Delete-Methode (JRO)

Delete-Methode

Entfernt das Filter-Objekt aus der Filters-Auflistung eines Replikats.

Syntax

Filters.Delete(Index)

Parameter

Index Ein Variant-Wert, der Namen oder Ordinalzahl des zu löschenden Filter-Objekts angibt.

Hinweise

Haben zwei Filter denselben Namen, dann wird der erste Filter entfernt. Verwenden Sie den Ordinalwert, um einen Filter explizit zu löschen, wenn mehrere Filter denselben Namen haben.

Enthält die Auflistung keinen Filter mit dem angegebenen Namen oder der angegebenen Ordinalzahl, dann tritt ein Fehler auf.


GetObjectReplicability-Methode (JRO)

GetObjectReplicability-Methode

Gibt an, ob ein Objekt lokal oder repliziert ist.

Syntax

Set ReturnValue = Replica.GetObjectReplicability(ObjectName, ObjectType)

Rückgabewert

Ein Boolescher Wert, der angibt, ob das Objekt repliziert ist. In Datenbanken, die nicht replizierbar gemacht worden sind, gibt diese Methode standardmäßig True für alle Objekte zurück. True gibt an, dass das Objekt replizierbar gemacht wird, sofern die Datenbank replizierbar gemacht wird. Bei replizierbaren Datenbanken gibt diese Methode standardmäßig False für alle neuen Objekte zurück. False gibt an, dass das Objekt nicht repliziert ist.

Parameter

ObjectName Ein String-Wert, der den Namen des Objekts angibt, für das der Replikationsstatus abgerufen werden soll.

ObjectType Ein String-Wert, der den Typ des Objekts angibt, das durch ObjectName angegeben ist.

Hinweise

Die GetObjectReplicability-Methode gibt an, ob das Objekt repliziert ist oder repliziert werden wird.

Die Parameter ObjectName und ObjectType sind Zeichenfolgen, die den Namen des Objekts angeben (beispielsweise Kunden) und angeben, wo sich das Objekt befindet (beispielsweise in einer Tabelle). Existiert kein Objekt dieses Namens und Typs in der Datenbank, dann tritt ein Fehler auf. Ist eine dieser Zeichenfolgen über 64 Zeichen lang, dann tritt ebenfalls ein Fehler auf.

Weitere Informationen über das Verändern der Replizierbarkeit von Objekten finden Sie unter der SetObjectReplicability-Methode.

Wenn das durch die Parameter ObjectName und ObjectType angegebene Objekt nicht existiert, tritt ein Fehler auf.


Item-Methode (JRO)

Item-Methode

Gibt ein bestimmtes Element einer Auflistung nach Namen oder Ordinalzahl zurück.

Syntax

Set Objekt = Auflistung.Item ( Index )

Rückgabewert

Gibt einen Objektverweis zurück.

Parameter

Index Ein Wert vom Typ Variant, der entweder den Namen oder die Ordinalzahl eines Objekts in einer Auflistung ergibt.

Hinweise

Verwenden Sie die Item-Methode, um ein bestimmtes Objekt in einer Auflistung zurückzugeben. Wenn die Methode kein Objekt in der Auflistung finden kann, das dem Index-Argument entspricht, tritt ein Fehler auf. Einige Auflistungen unterstützen benannte Objekte nicht. Für diese Auflistungen müssen Sie Ordinalzahlverweise verwenden.

Die Item-Methode ist die Standardmethode für alle Auflistungen. Daher sind die folgenden Syntaxformen austauschbar:

Auflistung.Item (Index)

Auflistung (Index)


MakeReplicable-Methode (JRO)

MakeReplicable-Methode

Macht eine Datenbank replizierbar.

Syntax

Replica.MakeReplicable([ConnectString] [, ColumnTracking])

Parameter

ConnectString Optional. Ein String-Wert, der den Namen und Pfad der Datenbank angibt, die replizierbar gemacht werden soll. Der Wert ConnectString überschreibt die ActiveConnection-Eigenschaft.

ColumnTracking Optional. Ein boolescher Wert, der angibt, ob Veränderungen spalten- oder zeilenweise überwacht werden sollen. Der Standardwert ist True. Die Auflösung eines Konflikts auf Spaltenebene ermöglicht Ihnen, zwei Datensätze zusammenzuführen und einen Konflikt nur zu melden, wenn Änderungen gleichzeitig am selben Feld vorgenommen worden sind. Wenn es bei Ihnen oft zu Überlappungen von Aktualisierungen in derselben Zeile kommt, könnte das Festlegen dieser Option die Leistung verbessern.

Hinweise

Wenn der Parameter ConnectString ausgelassen wird und die ActiveConnection-Eigenschaft noch nicht exklusiv festgelegt wurde, tritt ein Fehler auf. Wenn diese Methode erfolgreich ist, wird die ActiveConnection-Eigenschaft festgelegt.


PopulatePartial-Methode (JRO)

PopulatePartial-Methode

Füllt ein Teilreplikat auf.

Syntax

Replica.PopulatePartial(FullReplica)

Parameter

FullReplica Ein String-Wert, der den Pfad und Dateinamen des Replikats darstellt, das mit Daten aufgefüllt werden soll.

Hinweise

Beim Synchronisieren eines Teilreplikats mit einem vollständigen Replikat ist es möglich, im Teilreplikat "verwaiste" Datensätze zu erstellen. Sie haben beispielsweise einen Filter für die Kundentabelle mit einem FilterCriteria von "Region = 'NRW'". Ändert ein Benutzer im Teilreplikat die Region des Kunden von NRW zu HH, und erfolgt danach eine Synchronisation mittels der Synchronize-Methode, dann wird die Änderung auf das vollständige Replikat übertragen. Doch der Datensatz im Teilreplikat, der HH enthält, ist "verwaist", da er jetzt nicht mehr den Filterkriterien des Replikats entspricht.

Um das Problem der verwaisten Datensätze zu lösen, können Sie die PopulatePartial-Methode einsetzen. Die PopulatePartial-Methode ähnelt der Synchronize-Methode, synchronisiert jedoch alle Änderungen im Teilreplikat mit dem vollständigen Replikat, entfernt alle Datensätze aus dem Teilreplikat und füllt anschließend das Teilreplikat neu. Hierbei legt es die aktuellen Replikatsfilter zugrunde. Selbst wenn die Replikatfilter unverändert sind, löscht PopulatePartial stets alle Datensätze im Teilreplikat und füllt sie auf der Grundlage der aktuellen Filter neu auf.

In der Regel sollten Sie die PopulatePartial-Methode verwenden, wenn Sie ein Teilreplikat erstellen und immer, wenn Sie die Replikatfilter verändern. Wenn die Anwendung die Replikatfilter verändert, sollten Sie nach den folgenden Schritten vorgehen:

  1. Synchronisieren Sie das vollständige Replikat mit dem Teilreplikat, in dem die Filter geändert werden.

  2. Verwenden Sie das Filter-Objekt, um die gewünschten Änderungen am Replikatfilter vorzunehmen.

  3. Rufen Sie die PopulatePartial-Methode auf, um alle Datensätze aus dem Teilreplikat zu entfernen und alle Datensätze aus dem vollständigen Replikat zu übertragen, die den neuen Kriterien des Replikatfilters entsprechen.

Ist ein Replikatfilter geändert worden, und wird die Synchronize-Methode aufgerufen, ohne dass zuvor PopulatePartial aufgerufen wurde, dann tritt ein auffangbarer Fehler auf.

Die PopulatePartial-Methode kann nur bei einem Teilreplikat aufgerufen werden, das für exklusiven Zugriff geöffnet worden ist. Außerdem kann die PopulatePartial-Methode nicht aus einem Code heraus aufgerufen werden, der im Teilreplikat selbst ausgeführt wird. Stattdessen sollten Sie das Teilreplikat exklusiv aus dem vollständigen Replikat oder aus einer anderen Datenbank öffnen und dann erst PopulatePartial aufrufen.

Anmerkung Obwohl PopulatePartial eine Synchronisation in einer Richtung durchführt, bevor das Teilreplikat gelöscht und neu aufgefüllt wird, ist es ratsam, Synchronize aufzurufen, bevor Sie PopulatePartial aufrufen. Bei Verwendung des direkten oder des Internet-Synchronisationsmodus tritt ein auffangbarer Fehler auf, wenn der Aufruf von Synchronize fehlschlägt. Mit Hilfe dieses Fehlers können Sie entscheiden, ob Sie mit der PopulatePartial-Methode fortfahren möchten oder nicht. Sie entfernt alle Datensätze im Teilreplikat. Bei der indirekten Synchronisation tritt kein auffangbarer Fehler auf; weitere Informationen hierzu finden Sie unter der Synchronize-Methode. Wenn PopulatePartial durch sich selbst aufgerufen wird und während der Synchronisation von Datensätzen ein Fehler auftritt, werden Datensätze im Teilreplikat dennoch gelöscht, was u. U. nicht beabsichtigt war.

Diese Methode können Sie nur verwenden, wenn die Datenbank replizierbar ist und ein PartialReplica verwendet. Ist der ReplicaType jedoch jrRepTypeNotReplicable, und versucht der Benutzer, diese Methode zu verwenden, dann tritt ein Fehler auf.


Refresh-Methode (JRO)

Refresh-Methode

Aktualisiert die Objekte in einer Auflistung, um Objekte aufzunehmen, die vom Provider erhältlich und spezifisch für ihn sind.

Syntax

Auflistung.Refresh


RefreshCache-Methode (JRO)

RefreshCache-Methode

Veranlasst, dass alle nicht abgeschlossenen Speichervorgänge auf mdb.Dateien gespeichert werden, und aktualisiert den Arbeitsspeicher unter Verwendung der aktuellsten Daten dieser mdb.Datei.

Syntax

JetEngine.RefreshCache(Connection)

Parameter

Connection Das ADO Connection-Objekt, für das der Zwischenspeicher aktualisiert werden soll. Ist die Verbindung keine gültige, geöffnete ADO-Connection, dann tritt ein Fehler auf. Wenn der zum Herstellen der Verbindung verwendete Provider die RefreshCache-Methode nicht unterstützt, tritt ein Fehler auf.

Hinweise

Sie brauchen diese Methode nicht in Einzelbenutzer-Umgebungen zu verwenden, es sei denn, es werden mehrere Verbindungen zu der Datenbank hergestellt. Die RefreshCache-Methode verbessert möglicherweise die Leistung in Umgebungen mit mehreren Benutzern, da sie das Datenbankmodul veranlasst, Daten auf den Datenträger zu schreiben, und dabei Sperren im Arbeitsspeicher aufhebt.


SetObjectReplicability-Methode (JRO)

SetObjectReplicability-Methode

Legt fest, ob ein Objekt lokal oder repliziert ist.

Syntax

Replica.SetObjectReplicability(ObjectName, ObjectType, Replicability)

Parameter

ObjectName Ein String-Wert, der den Namen des Objekts angibt, für das der Replikationsstatus abgerufen werden soll.

ObjectType Ein String-Wert, der den Typ des Objekts angibt, das durch ObjectName angegeben ist.

Replicability Ein boolescher Wert, der angibt, ob das Objekt repliziert ist oder repliziert werden wird.

Hinweise

Die SetObjectReplicability-Methode bewirkt, dass ein Objekt lokal oder repliziert wird. Ist die Datenbank nicht replizierbar gemacht worden, dann wird durch Festlegen des Parameters Replicability auf False angezeigt, dass das Objekt lokal bleiben sollte, wenn die Datenbank replizierbar gemacht wird. Objekte in nicht replizierbaren Datenbanken sind standardmäßig replizierbar. Allerdings sind neue Objekte, die in replizierbaren Datenbanken erstellt wurden, standardmäßig nicht replizierbar. Um ein neues Objekt in einer replizierbaren Datenbank replizierbar zu machen, setzen Sie den Parameter Replicability auf True.

Die Parameter ObjectName und ObjectType sind Zeichenfolgen, die den Namen des Objekts angeben (beispielsweise Kunden) und angeben, wo sich das Objekt befindet (beispielsweise in einer Tabelle). Existiert kein Objekt dieses Namens und Typs in der Datenbank, dann tritt ein Fehler auf. Ist eine dieser Zeichenfolgen über 64 Zeichen lang, dann tritt ebenfalls ein Fehler auf.

SetObjectReplicability wird bei Objekten in den folgenden Auflistungen von Microsoft Access ignoriert: Formulare, Berichte, DataAccessPages, Makros und Module. In Access regelt die Systemtabelle MsysAccessObjects die Replizierbarkeit dieser Objekte. Die Einstellung kann nur festgelegt werden, bevor die Datenbank replizierbar gemacht wird. Der Standardwert ist True.

Weitere Informationen über das Überprüfen der Replizierbarkeit von Objekten finden Sie unter der GetObjectReplicability-Methode.


Synchronize-Methode (JRO)

Synchronize-Methode

Synchronisiert zwei Replikate.

Syntax

Replica.Synchronize(Target [, SyncType] [, SyncMode])

Parameter

Target Ein String-Wert, der Pfad und Dateinamen des Replikats angibt, mit dem eine Synchronisation durchgeführt werden soll, den Namen des Synchronizers, der das Zielreplikat verwaltet, oder den Namen des Internetservers, der das Zielreplikat enthält.

SyncType Optional. Ein Enum-Wert, der den Typ der auszuführenden Synchronisation angibt. Der Standardwert für den Parameter SyncType ist jrSyncTypeImpExp. Dabei sind die folgenden Werte für SyncType gültig:

Konstante | Beschreibung
jrSyncTypeExport | Schickt Änderungen vom aktuellen Replikat an das Zielreplikat.
jrSyncTypeImport | Schickt Änderungen vom Zielreplikat an das aktuelle Replikat.
jrSyncTypeImpExp | Voreinstellung. Schickt Änderungen vom aktuellen Replikat an das Zielreplikat und umgekehrt.

SyncMode Optional. Ein Enum-Wert, der die Methode der Synchronisation angibt. jrSyncModeIndirect ist der Standardwert für den Parameter SyncMode. Dabei sind die folgenden Werte für SyncMode gültig:

Konstante | Beschreibung
jrSyncModeIndirect | Voreinstellung. Indirekte Synchronisation.
jrSyncModeDirect | Direkte Synchronisation.
jrSyncModeInternet | Indirekte Synchronisation über das Internet.

Hinweise

Das im Parameter Target angegebene Replikat muss Teil derselben Replikatgruppe sein. Haben beide Replikate dieselbe Einstellung für die ReplicaId-Eigenschaft oder sind sie Designmaster zweier unterschiedlicher Replikatgruppen, dann schlägt die Synchronisation fehl. Dies wird vom Provider veranlasst.

Wenn die Konstante SyncMode indirekt ist, muss der Wert des Parameters Target ein Synchronizername sein. Jet Replication legt die Änderungen in einem "Ablagefeld" ab. Der Synchronizer, der dieses Zielreplikat verwaltet, nimmt die Änderungen auf und wendet sie an. Damit die indirekte Synchronisation ordnungsgemäß funktionieren kann, muss ein Synchronizer auf dem lokalen und auf dem Zielcomputer laufen.

Bei SyncModeInternet muss der Wert des Parameters Target ein URL (Universal Resource Locator) anstelle eines LAN-Pfades sein. Ist ein URL im Parameter Target angegeben und der Parameter SyncMode ist nicht jrSyncModeInternet, dann tritt ein Fehler auf.

Bei SyncModeDirect werden beide Replikate gleichzeitig geöffnet und synchronisiert. Über ein WAN oder eine DFÜ-Verbindung werden Zuverlässigkeit und Leistung durch Verwenden der indirekten Synchronisation erhöht. Sie können auch mit einem SQL-Server-Replikat in einer Replikatgruppe synchronisieren, die sowohl SQL Server- als auch Jet-Datenbanken enthält. Dazu setzen Sie den Parameter Target auf ServerName.Database.Publication und führen eine direkte Synchronisation durch (jrSyncModeDirect). Wenn der Parameter Target ServerName.Database.Publication ist und SyncMode nicht direkt ist, dann tritt ein Fehler auf.

Diese Methode kann nur verwendet werden, wenn die Datenbank replizierbar ist. Ist der ReplicaType jedoch jrRepTypeNotReplicable, und versucht der Benutzer, diese Methode zu verwenden, dann tritt ein Fehler auf.

Für die Installation und Konfigurierung des Synchronizers ist Replication Manager erforderlich, und zum Überwachen des Status bei indirekten und Internetsynchronisationen sollte Replman verwendet werden. Er ist nur in Microsoft Office 2000, Developer Edition, verfügbar.

Weitere Informationen zum Replication Manager finden Sie unter "Replication Manager" in der Hilfe von Microsoft Access.


Jet- und Replikationseigenschaften

JRO-Eigenschaften - Zusammenfassung

Eigenschaft | Beschreibung
ActiveConnection | Gibt das Connection-Objekt an, zu dem Replica gehört.
ConflictFunction | Gibt den Namen der benutzerdefinierten Konfliktauflösungsfunktion an, die beim Beheben von Konflikten während der Synchronisation verwendet werden soll.
ConflictTables | Gibt ein Recordset an, das eine Auflistung mit Tabellen und verbundenen Konflikttabellen enthält.
Count | Gibt die Anzahl der Objekte in einer Auflistung an.
DesignMasterId | Legt die Designvorlage in einer Replikatgruppe eindeutig fest.
FilterCriteria | Legt die Kriterien für einen Datensatz fest, um von einem vollständigen Replikat repliziert zu werden.
FilterType | Gibt den Filtertyp an.
Priority | Legt die relative Priorität des Replikats zur Verwendung während der Konfliktauflösung fest.
ReplicaId | Legt ein Datenbankreplikat eindeutig fest.
ReplicaType | Gibt den Replikationstyp an.
RetentionPeriod | Gibt an, wie viele Tage die Replikationschronologien aufbewahrt werden sollen.
TableName | Gibt den Namen der Tabelle an, auf den der Filter angewendet wird.
Visibility | Gibt die Sichtbarmachung des Replikats an: Global, Lokal oder Anonym.


ActiveConnection-Eigenschaft (JRO)

ActiveConnection-Eigenschaft

Gibt das Connection-Objekt an, zu dem Replica gehört.

Einstellungen und Rückgabewerte

Legt einen Wert vom Typ String fest, der die Definition für eine Verbindung bzw. ein geöffnetes Connection-Objekt enthält, oder gibt diesen Wert zurück.

Hinweise

Der Standardwert ist Null.

Ist die ActiveConnection-Eigenschaft nicht gesetzt, werden alle verbundenen Objekte von der Datenquelle getrennt.


ConflictFunction-Eigenschaft (JRO)

ConflictFunction-Eigenschaft

Gibt den Namen der benutzerdefinierten Konfliktauflösungsfunktion an, die beim Beheben von Konflikten während der Synchronisation verwendet werden soll.

Einstellungen und Rückgabewerte

Legt einen String-Wert fest, der dem Namen einer benutzerdefinierten Funktion entspricht, oder gibt diesen zurück. Der String-Wert darf dabei eine Länge von 255 Zeichen nicht überschreiten. Der Standardwert ist eine leere Zeichenfolge ("").

Hinweise

Die ConflictFunction-Eigenschaft ermöglicht Ihnen die Verwendung von benutzerdefiniertem Code zur Konfliktauflösung, um während der Synchronisation Datenkonflikte zwischen Replikaten zu beheben, oder das Festlegen eines Replikats in der Gruppe, um die integrierte Konfliktauflösungsfunktion einzublenden. Setzen Sie die ConflictFunction-Eigenschaft auf eine Textzeichenfolge, d. h. auf den Namen der aufzurufenden Funktion. Achten Sie darauf, dass es sich bei der Einstellung um den Namen einer Function-Prozedur handeln muss; den Namen einer Sub-Prozedur können Sie nicht verwenden. Wurde diese Eigenschaft nicht gesetzt, ruft Microsoft Access die integrierte Konfliktauflösungsfunktion auf.

Konflikte treten auf, wenn derselbe Datensatz in einer replizierten Datenbank mehrfach in einem oder mehreren Replikaten geändert wurde (oder in derselben Spalte im selben Datensatz, wenn für die Datenbank die Verfolgung auf Spaltenebene aktiviert wurde). Für gewöhnlich ruft Microsoft Access die integrierte Konfliktauflösungsfunktion auf, um diese Konflikte zu beheben. Der zugehörige Assistent stellt dem Benutzer die einzelnen Konflikte dar, so dass dieser manuell entscheiden muss, welcher geänderte Datensatz die korrekten Daten enthält. Sie können ein Replikat in der Replikatgruppe bestimmen, um Konflikte mit der integrierten Konfliktauflösungsfunktion anzuzeigen, indem Sie die ConflictFunction-Eigenschaft mit der ReplicaId (GUID) dieses Replikats gleichsetzen.

Wenn Sie für Ihre Anwendung eine automatisierte Konfliktauflösung bevorzugen, können Sie benutzerdefinierte Prozeduren schreiben, um Konflikte aufzulösen und dann die integrierte Funktionalität überschreiben, indem Sie die ConflictFunction-Eigenschaft setzen. Erstellen Sie eine einzige Funktion, die als Einsprungspunkt in Ihrem Konfliktauflösungscode fungiert, und setzen Sie dann die ConflictFunction-Eigenschaft auf den Namen der Funktion.

Diese Eigenschaft kann nur gelesen oder gesetzt werden, wenn die Datenbank replizierbar ist. Ist der ReplicaType jedoch jrRepTypeNotReplicable und versucht der Benutzer, diese Eigenschaft zu lesen oder zu setzen, tritt ein Fehler auf. Darüber hinaus tritt auch ein Fehler auf, wenn es sich bei ReplicaType um jrRepTypeDesignMaster handelt.


ConflictTables-Eigenschaft (JRO)

ConflictTables-Eigenschaft

Gibt ein Recordset an, das eine Auflistung mit Tabellen und verbundenen Konflikttabellen enthält.

Rückgabewerte

Gibt ein Recordset zurück, das zwei Spalten aufweist: TableName und ConflictTableName für die einzelnen Tabellen, bei denen Konflikte während der Synchronisation zweier Replikate auftraten. ConflictTables ist schreibgeschützt.

Hinweise

Diese Eigenschaft kann nur gelesen werden, wenn die Datenbank replizierbar ist. Ist der ReplicaType jedoch jrRepTypeNotReplicable und versucht der Benutzer, diese Eigenschaft zu lesen oder zu setzen, tritt ein Fehler auf.


Count-Eigenschaft (JRO)

Count-Eigenschaft

Gibt die Anzahl der Objekte in einer Auflistung an.

Rückgabewert

Gibt einen Long-Wert zurück.

Hinweise

Verwenden Sie die Count-Eigenschaft, um zu bestimmen, wie viele Objekte in einer gegebenen Auflistung vorhanden sind.

Da das Aufzählen der Elemente in einer Auflistung mit Null beginnt, sollten Sie stets Schleifen programmieren, die mit dem Nullelement beginnen und mit dem Wert der Count-Eigenschaft minus 1 enden. Wenn beim Verwenden von Microsoft® Visual Basic® ohne Prüfen der Count-Eigenschaft ein Schleifendurchlauf durch die Elemente einer Auflistung durchgeführt werden soll, verwenden Sie den For Each...Next-Befehl.

Ist die Count-Eigenschaft Null, enthält die Auflistung keine Objekte.


DesignMasterId-Eigenschaft (JRO)

DesignMasterId-Eigenschaft

Legt die Designvorlage in einer Replikatgruppe eindeutig fest.

Einstellungen und Rückgabewerte

Setzt einen Variant-Wert, der die Designvorlage in einer Replikatgruppe (einer GUID) eindeutig festlegt, oder gibt diesen zurück. Diese Eigenschaft wird beim Erstellen der Designvorlage automatisch gesetzt. Der Standardwert ist eine leere Zeichenfolge ("").

Hinweise

Eine Designvorlage kann eines ihrer Replikate als neue Designvorlage bestimmen. Ein Replikat kann sich zwar selbst als neue Designvorlage bestimmen, jedoch kann es sich nicht als unterschiedliches Replikat zur Designvorlage festlegen.

Unter bestimmten Umständen – beispielsweise, wenn die Designvorlage gelöscht oder beschädigt wurde – können Sie diese Eigenschaft beim aktuellen Replikat setzen. Ist in der Replikatgruppe bereits eine Designvorlage vorhanden, kann das Setzen dieser Eigenschaft bei einem Replikat jedoch zu einer Partition in zwei nicht mehr miteinander kombinierbare Gruppen führen, so dass eine weitere Datensynchronisation unmöglich wird.

Diese Eigenschaft kann nur gelesen werden, wenn die Datenbank replizierbar ist. Ist der ReplicaType jedoch jrRepTypeNotReplicable und versucht der Benutzer, diese Eigenschaft zu lesen oder zu setzen, tritt ein Fehler auf.


FilterCriteria-Eigenschaft (JRO)

FilterCriteria-Eigenschaft

Legt die Kriterien für einen Datensatz fest, um von einem vollständigen Replikat repliziert zu werden.

Einstellungen und Rückgabewerte

Legt einen String-Wert fest oder gibt diesen zurück. Bei Filtern, die auf einer Tabelle basieren, sollte die Zeichenfolge einen SQL WHERE-Klausel ohne das Schlüsselwort WHERE darstellen. Bei Filtern, die auf Beziehungen basieren, enthält die Zeichenfolge den Namen der Beziehung. Die FilterCriteria-Eigenschaft ist schreibgeschützt, nachdem sie gesetzt wurde; sie kann nur durch Verwenden der Append-Methode gesetzt werden.

Hinweise

Der Standardwert ist eine leere Zeichenfolge ("").


FilterType-Eigenschaft (JRO)

FilterType-Eigenschaft

Gibt den Filtertyp an.

Einstellungen und Rückgabewerte

Legt einen Enum-Wert fest oder gibt diesen zurück. Die folgenden Konstanten stellen gültige Werte für FilterType dar: Die FilterType-Eigenschaft ist schreibgeschützt, nachdem sie gesetzt wurde; sie kann nur durch Verwenden der Append-Methode gesetzt werden.

Konstante | Beschreibung
JrFltrTypeTable | Voreinstellung. Der Filter basiert auf einer Tabelle.
JrFltrTypeRelationship | Der Filter basiert auf einer Beziehung.


Priority-Eigenschaft (JRO)

Priority-Eigenschaft

Legt die relative Priorität des Replikats zur Verwendung während der Konfliktauflösung fest.

Rückgabewerte

Gibt einen Long-Wert zwischen 0 und 100 zurück, der die Priorität angibt. Priority ist schreibgeschützt.

Hinweise

Der folgende Algorithmus wird zum Auflösen von Konflikten verwendet:

  • Das Replikat mit der höchsten Priorität wird ausgewählt.

  • Sind die Prioritäten gleich, wird das Replikat mit der niedrigsten ReplicaId ausgewählt.

In früheren Versionen basierte der Konfliktauflösungsalgorithmus auf dem Replikat mit den meisten Änderungen in der Zeile und danach auf der weiter oben beschriebenen zweiten Regel. Zur Gewährleistung der Kompatibilität bei der Konvertierung älterer Datenbanken wird die Priorität für sämtliche Replikate auf 90 gesetzt.

Bei globalen Replikaten beträgt die Standardpriorität 90 Prozent der Priorität des übergeordneten Replikats. Die gültigen Werte für ein globales Replikat können möglicherweise auch weiter eingeschränkt sein. Handelt es sich beim Benutzer um den Datenbankadministrator, dann ist der gesamte Bereich gültig. Andernfalls beträgt der Höchstwert der Priorität 90 Prozent der Priorität des übergeordneten Replikats. Bei lokalen und anonymen Replikaten beträgt der Wert stets 0 und kann nicht verändert werden. Dieser Wert wird beim Erstellen des Replikats festgesetzt; jeder davon abweichende Wert wird ignoriert.

Diese Eigenschaft kann nur gelesen werden, wenn die Datenbank replizierbar ist. Ist der ReplicaType jedoch jrRepTypeNotReplicable, und versucht der Benutzer, diese Eigenschaft zu lesen, tritt ein Fehler auf.


ReplicaId-Eigenschaft (JRO)

ReplicaId-Eigenschaft

Legt ein Datenbankreplikat eindeutig fest.

Rückgabewerte

Gibt einen Variant-Wert zurück, der ein Datenbankreplikat (eine GUID) eindeutig festlegt. Diese Eigenschaft wird beim Erstellen des Replikats automatisch erzeugt. ReplicaId ist schreibgeschützt.

Diese Eigenschaft kann nur gelesen werden, wenn die Datenbank replizierbar ist. Ist der ReplicaType jedoch jrRepTypeNotReplicable und versucht der Benutzer, diese Eigenschaft zu lesen oder zu setzen, tritt ein Fehler auf.


ReplicaType-Eigenschaft (JRO)

ReplicaType-Eigenschaft

Gibt den Replikationstyp an.

Rückgabewerte

Gibt einen Enum-Wert zurück, bei dem es sich um eine der folgenden Konstanten handeln kann:

Konstante | Beschreibung
jrRepTypeNotReplicable | Voreinstellung. Die Datenbank ist nicht replizierbar.
jrRepTypeDesignMaster | Das Replikat ist eine Designvorlage.
jrRepTypeFull | Das Replikat ist ein vollständiges Replikat.
jrRepTypePartial | Das Replikat ist ein Teilreplikat.

ReplicaType ist schreibgeschützt.

Hinweise

Die ReplicaType-Eigenschaft dient dem Festlegen, ob eine Datenbank replizierbar ist und, wenn ja, um welchen Replikattyp es sich handelt. Ist ReplicaType jedoch jrRepTypeNotReplicable, ist die Datenbank noch nicht dafür ausgelegt, repliziert werden zu können. Verwenden Sie den Parameter ReplicaType der CreateReplica-Methode, um ein neues vollständiges oder ein Teilreplikat zu erstellen.


RetentionPeriod-Eigenschaft (JRO)

RetentionPeriod-Eigenschaft

Gibt an, wie viele Tage die Replikationschronologien aufbewahrt werden sollen.

Einstellungen und Rückgabewerte

Setzt einen Integer-Wert zwischen 5 und 32.000, der die Anzahl der Tage darstellt, oder gibt diesen zurück.

Hinweise

Die RetentionPeriod-Eigenschaft gibt die Zeit in Tagen an, die eine Replikatgruppe Details gelöschter Datensätze, Schemaänderungen sowie andere systemspezifische Informationen behält. Ist die Datenbank mit ADO, RDO oder Replication Manager replizierbar, ist der Standardwert 60.

Ist die Datenbank mit MS Access replizierbar, ist der Standardwert 1000.

Diese Eigenschaft kann nur auf einer Designvorlage gesetzt werden. Ist ReplicaType nicht jrTypeDesignMaster, tritt ein Fehler auf.


TableName-Eigenschaft (JRO)

TableName-Eigenschaft

Gibt den Namen der Tabelle an, auf den der Filter angewendet wird.

Einstellungen und Rückgabewerte

Setzt einen String-Wert, der den Namen der Tabelle angibt, oder gibt diesen zurück. Bei Filtern, die auf einer Beziehung basieren, handelt es sich bei dieser Tabelle um die "n-Seite" der Beziehung. Die TableName-Eigenschaft ist schreibgeschützt, nachdem sie gesetzt wurde; sie kann nur durch Verwenden der Append-Methode gesetzt werden.

Hinweise

Der Standardwert ist eine leere Zeichenfolge ("").


Visibility-Eigenschaft (JRO)

Visibility-Eigenschaft

Gibt die Sichtbarmachung des Replikats an: Global, Lokal oder Anonym.

Rückgabewerte

Gibt einen Enum-Wert zurück, der die Sichtbarmachung des Replikats innerhalb der Replikatgruppe angibt. Dies kann eine der folgenden Konstanten sein:

Konstante | Beschreibung
jrRepVisibilityGlobal | Voreinstellung. Das Replikat ist global.
jrRepVisibilityLocal | Das Replikat ist lokal.
jrRepVisibilityAnon | Das Replikat ist anonym.

Visibility ist schreibgeschützt.

Hinweise

Bei einem globalen Replikat handelt es sich um das typische Replikat, von dem Sie alle anderen Replikattypen erstellen können. Durch ein globales Replikat durchgeführte Änderungen werden vollständig verfolgt und können mit anderen globalen Replikaten in der Gruppe ausgetauscht werden. Das globale Replikat kann darüber hinaus auch mit anderen lokalen oder anonymen Replikaten Änderungen austauschen, für die es dann als Zentrum fungiert.

Anmerkung Die Designvorlage ist ein globales Replikat.

Lokale und anonyme Replikate synchronisieren nur mit ihrem Zentrum, einem globalen Replikat. Es ist ihnen nicht möglich, eine Synchronisation mit anderen Replikaten in der Replikatgruppe durchzuführen. Sämtliche lokalen und anonymen Replikate haben stets die Priorität 0, so dass die Änderungen daher bei einer Konfliktauflösung automatisch nicht gewählt werden, wenn bei Änderungen Konflikte mit dem globalen Zentrumsreplikat auftreten. Wenn sie eine Änderung ohne Konflikte an das Zentrum übertragen, setzt das Zentrum die Urheberschaft der Änderung voraus.

Das Zentrumsreplikat allein hat Kenntnisse über die lokalen Replikate, und nur dieses kann einen Austausch zu einem lokalen Replikat zeitlich planen.

Replikate verfügen über keine Kenntnisse zu anonymen Replikaten (auch das Zentrumsreplikat nicht). Das Zentrumsreplikat kann keinen Austausch zu anonymen Replikaten planen. Für die Verwendung im Internet wird jedoch der Einsatz von anonymen Replikaten für Massenverteilungen empfohlen, da systemverfolgbare Informationen nicht beibehalten werden und die Replikatgröße verringert wird.

Die Sichtbarmachung kann nicht geändert werden, nachdem das Replikat mit der CreateReplica-Methode erstellt wurde.

Diese Eigenschaft kann nur gelesen werden, wenn die Datenbank replizierbar ist. Ist die ReplicaType-Eigenschaft jedoch nicht jrRepTypeNotReplicable, und versucht der Benutzer, diese Eigenschaft zu lesen, tritt ein Fehler auf.


Jet und Replikation - Beispiele

In diesen Themen erfahren Sie, wie Sie die folgenden JRO-Methoden einsetzen können.

Anmerkung Fügen Sie das gesamte Codebeispiel, von Sub bis End Sub, in Ihren Codeeditor ein. Wenn Sie nur Teile der Beispiele verwenden oder die Absatzformatierung verloren geht, wird das Beispiel möglicherweise nicht ordnungsgemäß ausgeführt. Damit die Codebeispiele in Access funktionieren, müssen Sie die &-Symbole entfernen und dann den Code ausführen.

Das Beispiel zur Append-Methode zeigt, wie ein neuer Filter an eine Tabelle angehängt wird.

Das Beispiel zur CompactDatabase-Methode zeigt, wie eine Datenbank mit der CompactDatabase-Methode komprimiert und verschlüsselt wird.

Das Beispiel zur CreateReplica-Methode zeigt, wie mit der CreateReplica-Methode ein vollständiges Replikat erstellt wird.

Das Beispiel zur MakeReplicable-Methode zeigt, wie mit der MakeReplicable-Methode ein Designmaster erstellt wird.

Das Beispiel zur PopulatePartial-Methode zeigt, wie mit der PopulatePartial-Methode ein Replikat aktualisiert wird.

Das Beispiel zur RefreshCache-Methode demonstriert die RefreshCache-Methode.

Die Beispiele zur Synchronize-Methode zeigen, wie Änderungen zwischen einem Designvorlage und einem Replikat mit der Synchronize-Methode aktualisiert werden, und wie die Synchronize-Methode zur Internet-Synchronisation und zur indirekten Synchronisation verwendet wird.


Beispiel zur Append-Methode

Dieses Beispiel zeigt, wie ein neuer Filter an eine Tabelle angehängt wird.

Public Sub AppendFilter()

    Dim flt As JRO.Filter
    Dim rep As New JRO.Replica

    ' Mit einem vorhandenen Teilreplikat verbinden.
    Rep.ActiveConnection="C:\Programme\" & _
        "Microsoft Office\Office\Beispiele\Teil von Nordwind.mdb"

    ' Einen Teilfilter an eine Tabelle anhängen.
    rep.Filters.Append "Customers",jrFilterTypeTable,"Region='CA'"
    Set flt = rep.Filters.Item(1)

    ' Informationen drucken.
    Debug.Print flt.FilterCriteria
    Debug.Print flt.FilterType
    Debug.Print flt.TableName

End Sub


Beispiel zur PopulatePartial-Methode (JRO)

Beispiel zur PopulatePartial-Methode

Dieses Beispiel zeigt, wie mit der PopulatePartial-Methode ein Replikat aktualisiert wird.

Public Sub PartialRep()

' Dieser Code zeigt, wie mit einem Beziehungsfilter und einem
' Tabellenfilter ein Teilreplikat erstellt wird.
' HINWEIS: PopulatePartial benötigt eine exklusive Verbindung.

    Dim repMaster As New JRO.Replica
    Dim repPartial As New JRO.Replica
    Dim flt As JRO.Filter

    repMaster.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "DataSource=C:\Programme\" & _
        "Microsoft Office\Office\Beispiele\Nordwind.mdb"
    If (Dir("C:\Programme\" & _
        "Microsoft Office\Office\Beispiele\" & _
        "Teil von Nordwind.mdb") <> "") Then Kill & _
        ("C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Teil von Nordwind.mdb")

    ' Nordwind.mdb ist bereits replizierbar. Sie können daher
    ' Replikate davon erstellen.
    repMaster.CreateReplica "C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Teil von Nordwind.mdb", & _
        "Teilreplikat von Nordwind", jrRepTypePartial

    Set repMaster = Nothing

    ' PopulatePartial benötigt eine exklusive Verbindung mit der Datenbank.
    repPartial.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "DataSource=c:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Teil von Nordwind.mdb;" & _
        "Mode=share Deny Read|Share Deny Write"

    repPartial.Filters.Append "Orders", jrFilterTypeRelationship, & _
        "CustomersOrders"

    repPartial.Filters.Append "Customers", jrFilterTypeTable, & _
        "CustomerID"
    repPartial.PopulatePartial "C:\Programme\" & _
        "Microsoft Office\Office\Beispiele\Nordwind.mdb"

End Sub


Beispiel zur MakeReplica-Methode (JRO)

Beispiel zur MakeReplicable-Methode

Dieses Beispiel zeigt, wie mit der MakeReplicable-Methode ein Designmaster erstellt wird.

Public Sub MakeRep()

' Dieses Codebeispiel zeigt, wie Sie MakeReplicable
' verwenden, indem Sie den ConnectionString-Parameter angeben.
' HINWEIS: Diese Verbindungszeichenfolge muss den exklusiven Verbindungsmodus
' nicht ausdrücklich angeben. JRO erledigt das automatisch.

    Dim repDM As New JRO.Replica
    ' Nordwind.mdb mit Verfolgung auf Datensatzebene replizierbar machen.
    repDM.MakeReplicable "C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Nordwind.mdb", False

End Sub


Beispiel zur CreateReplica-Methode

Dieses Beispiel zeigt, wie mit der CreateReplica-Methode ein vollständiges Replikat erstellt wird.

Public Sub CreateRep()

    Dim repMaster As New JRO.Replica

    ' Mit Nordwind-Datenbank verbinden.
    repMaster.ActiveConnection = "C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Nordwind.mdb"

    ' myTestRep löschen, falls vorhanden.
    If (Dir("C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\myTestRep.mdb") <> "") Then Kill & _
        ("C:\Programme\Microsoft Office\Office\Beispiele\" & _
        "Replikat von Nordwind.mdb")

    ' Vollständiges Replikat erstellen
    repMaster.CreateReplica "C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Replikat von Northwind.mdb", "Mein vollständiges Replikat1", _
        jrRepTypeFull, jrRepVisibilityGlobal

End Sub


Beispiel zur CompactDatabase-Methode (JRO)

Beispiel zur CompactDatabase-Methode

Dieses Beispiel zeigt, wie eine Datenbank mit der CompactDatabase-Methode komprimiert und verschlüsselt wird.

Public Sub CompactAndEncrypt()

    Dim je As New JRO.JetEngine

    ' Sicher stellen, dass keine Datei mit dem Namen der
    ' komprimierten Datenbank vorhanden ist.
    If Dir("C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Nordwind2.mdb") <> "" Then Kill & _
        "C:\Programme\Microsoft Office\Office\Beispiele\Nordwind2.mdb"

    ' Komprimiert und verschlüsselt Nordwind-Datenbank.
    je.CompactDatabase _
    "Provider=Microsoft.Jet.OLEDB.4.0; & _
        "Data Source=C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Nordwind.mdb", _
    "Provider=Microsoft.Jet.OLEDB.4.0; & _
        "Data Source=C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Nordwind.mdb;" _
    "Jet OLEDB:Encrypt Database=True"

End Sub


Beispiel zur RefreshCache-Methode (JRO)

Beispiel zur RefreshCache-Methode

Dieses Beispiel demonstriert die RefreshCache-Methode.

Public Sub RefCache()

    Dim lateje As JRO.JetEngine
    Dim conn As New ADODB.Connection
    Dim conn2 As New ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim fld As ADODB.Field

    ' Öffnen der beiden Verbindungen mit der Datenbank.
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data source=C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Nordwind.mdb;"
    conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data source=C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Nordwind.mdb;"

    Set lateje = CreateObject("JRO.JetEngine")

On Error Resume Next
    conn.Execute "drop table tab1"
On Error GoTo 0

    ' Tabelle erstellen und neue Werte für Spalten eingeben.
    conn.Execute "create table tab1 ( col1 int)"
    conn.Execute "insert into tab1 values (1)"
    conn.Execute "insert into tab1 values (2)"

    ' Daten aus Puffer schreiben, damit conn2 die Änderungen von conn1 sehen kann.
    lateje.RefreshCache conn2
    Set rs = conn2.Execute("select * from tab1")
    Set fld = rs.Fields(0)
    Debug.Print "Datensatz 1: " & fld.Name & " = " & fld.Value

    conn.Close
    conn2.Close
    Set lateje = Nothing

End Sub


Beispiel zur Synchronize-Methode (JRO)

Beispiel zur Synchronize-Methode

Die folgenden drei Beispiele demonstrieren die Synchronize-Methode. Dieses Beispiel zeigt, wie Änderungen zwischen einem Designmaster und einen Replikat mit der Synchronize-Methode aktualisiert werden.

Public Sub DirectSync()

    Dim repMaster As New JRO.Replica
    Dim RepNorthwind As New JRO.Replica
    Dim conn As New ADODB.Connection

    ' Datenbank öffnen.
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data source=C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Nordwind.mdb;"

    ' Wenn ein Replikat der Datenbank vorhanden ist, wird es gelöscht.
    Repmaster.ActiveConnection = conn ' "C:\Programme\" & _
        "Microsoft Office\Office\Beispiele\Nordwind.mdb"
    If (Dir("C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Replikat von Nordwind.mdb") <> "" Then Kill & _
        ("C:\Programme\Microsoft Office\" & _
        Office\Beispiele\Replikat von Nordwind.mdb")

    ' Neues Replikat der Datenbank erstellen.
    Repmaster.CreateReplica "C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Replikat von Nordwind.mdb", &
        "Replikat1 für Nordwind.mdb",
        jrRepTypeFull, jrRepVisibilityGlobal

    ' Neue Werte kommen in tab1.
On Error Resume Next
    conn.Execute "drop table tab1"
On Error GoTo 0
    conn.Execute "create table tab1 ( col1 int)"
    conn.Execute "insert into tab1 values (1)"
    conn.Execute "insert into tab1 values (2)"

    ' Werte synchronisieren.
    Repmaster.Synchronize "C:\Programme\Microsoft Office\" & _
        "Office\Samples\Replikat von Nordwind.mdb", jrSyncTypeImpExp, & _
        jrSyncModeDirect

End Sub

Dieses Beispiel zeigt, wie die Synchronize-Methode zur Internet-Synchronisation verwendet wird. Beachten Sie, dass vor der Synchronisation das Internet-Replikationssetup abgeschlossen sein muss.

Public Sub InternetSync()

    Dim rep As New JRO.Replica

' Dies ist das Replikat auf Ihrem lokalen Computer.
    rep.ActiveConnection = "C:\Programme\Microsoft Office\" & _
        "Office\Beispiele\Nordwind.mdb"

' Der Name des Internetservers lautet "mein_server".
' Er ist für die Internetreplikation konfiguriert.
    rep.Synchronize "http://MEIN_SERVER", jrSyncTypeImpExp, & _
        jrSyncModeInternet

    Set rep = Nothing
End Sub

Dieses Beispiel zeigt, wie die Synchronize-Methode zur indirekten Synchronisation verwendet wird.

Public Sub IndirectSynch()

    Dim repMaster As New JRO.Replica

    Repmaster.ActiveConnection ="C:Programme\" & _
        "Microsoft Office\Office\Beispiele\Nordwind.mdb"

    ' Der zum Verwalten des Replikats verwendete Synchronizer heißt
    ' SynchronizerName. Mit ihm möchten Sie Daten
    ' austauschen.
    Repmaster.Synchronize "SynchronizeName", jrSyncTypeImpExp, & _
        jrSyncModeIndirect

End Sub